package cn.jtfadmin.activiti.domain.dto;

import cn.jtfadmin.base.lang.common.domain.dto.NameValueDTO;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 表单信息
 * @author jtf
 * @since 0.0.2
 */
@Data
public class FormDTO implements Serializable {

    /**
     * 部署id
     */
    protected String deploymentId;

    /**
     * 任务id 当是任务表单时有效
     */
    protected String taskId;

    /**
     * 表单key
     */
    protected String formKey;

    /**
     * 表单属性
     */
    protected List<FormPropertyDTO> formProperties;


    @Data
    public static class FormPropertyDTO implements Serializable{
        /**
         * id
         */
        protected String id;

        /**
         * 名称
         */
        protected String name;

        /**
         * 表单显示值
         */
        protected String value;


        /**
         * 是否可读
         */
        protected boolean readable;

        /**
         * 是否可写
         */
        protected boolean writable;

        /**
         * 是否必须
         */
        protected boolean required;

        /**
         * 表单类型 date, boolean, double, enum, string
         */
        protected String type;

        /**
         * 日期正则
         */
        protected String datePattern;

        /**
         * 枚举数据
         */
        protected List<NameValueDTO> enmuDatas;



    }
}
